package com.dave.admin.modular.boss.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * 权限【菜单】参数
 *
 * @author Dave
 */
@Data
public class PermissionVo {

    /**
     * 唯一标识
     */
    private String id;

    /**
     * 父权限
     */
    @NotBlank(message = "父权限不能为空")
    private String parentId;

    /**
     * 权限名称
     */
    @NotBlank(message = "名称不能为空")
    private String name;

    /**
     * 权限值
     */
    @NotBlank(message = "权限值不能为空")
    private String value;

    /**
     * 权限类型：0->目录；1->菜单；2->按钮（接口绑定权限）
     */
    @NotBlank(message = "权限类型不能为空")
    @Pattern(regexp = "^[0-9]\\d*$", message = "权限类型只能是数字")
    private String type;

    /**
     * 排序
     */
    @Pattern(regexp = "^[0-9]\\d*$", message = "排序只能是数字")
    @NotBlank(message = "排序不能为空")
    private String sort;


    /**
     * 图标
     */
    private String icon;

    /**
     * 备注
     */
    private String description;

    /**
     * 是否生成子权限(扩展参数)
     */
    private boolean createChildButton;
}
